<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
<head>
  <meta charset="utf-8" />
  <meta name="generator" content="pandoc" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
  <meta name="description" content=" : " />
  <title>BBF –  </title>
  <style>
    code{white-space: pre-wrap;}
    span.smallcaps{font-variant: small-caps;}
    div.columns{display: flex; gap: min(4vw, 1.5em);}
    div.column{flex: auto; overflow-x: auto;}
    div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
    /* The extra [class] is a hack that increases specificity enough to
       override a similar rule in reveal.js */
    ul.task-list[class]{list-style: none;}
    ul.task-list li input[type="checkbox"] {
      font-size: inherit;
      width: 0.8em;
      margin: 0 0.8em 0.2em -1.6em;
      vertical-align: middle;
    }
    .display.math{display: block; text-align: center; margin: 0.5rem auto;}
  </style>
  <link rel="stylesheet" href="bbf.css" />
  <!--[if lt IE 9]>
    <script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
  <![endif]-->
</head>
<body>
<header id="title-block-header">
<h1 class="title"> </h1>
</header>
<!-- do not edit! this file was created from PROJECT.yaml by project-parser.py -->
<div class="new-page">

</div>
<h3 class="unnumbered unlisted" id="issue-history">Issue History</h3>
<table class="issue-history">
<colgroup>
<col style="width: 15%" />
<col style="width: 15%" />
<col style="width: 69%" />
</colgroup>
<thead>
<tr class="header">
<th style="text-align: left;">Issue Number</th>
<th style="text-align: left;">Approval Date</th>
<th style="text-align: left;">Changes</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td style="text-align: left;"><p><a
href="https://www.broadband-forum.org/download/TR-369_Issue-1.pdf">Release
1.0</a></p></td>
<td style="text-align: left;"><p>April 2018</p></td>
<td style="text-align: left;"><p>Release contains specification for the
User Services Platform 1.0</p>
<p>Corresponds to <a
href="https://github.com/BroadbandForum/usp-data-models/releases/tag/v1.0.0">TR-181
Issue 2 Amendment 12</a></p></td>
</tr>
<tr class="even">
<td style="text-align: left;"><a
href="https://www.broadband-forum.org/download/TR-369_Corrigendum-1.pdf">Release
1.0.1</a></td>
<td style="text-align: left;">August 2018</td>
<td style="text-align: left;"><ul>
<li>Added examples and clarifications to end-to-end messaging, use of
endpoint ID, typographical fixes</li>
</ul></td>
</tr>
<tr class="odd">
<td style="text-align: left;"><a
href="https://www.broadband-forum.org/download/TR-369_Corrigendum-2.pdf">Release
1.0.2</a></td>
<td style="text-align: left;">November 2018</td>
<td style="text-align: left;"><ul>
<li>Typographical and example fixes</li>
</ul></td>
</tr>
<tr class="even">
<td style="text-align: left;"><p><a
href="https://www.broadband-forum.org/download/TR-369_Amendment-1.pdf">Release
1.1</a></p></td>
<td style="text-align: left;"><p>October 2019</p></td>
<td style="text-align: left;"><p>Release contains specification for the
User Services Platform 1.1</p>
<ul>
<li>Adds MQTT support as a Message Transfer Protocol</li>
<li>Adds a theory of operations for IoT control using USP Agents</li>
<li>Clarifications on protocol functions, error messages, and updates to
examples</li>
</ul>
<p>Corresponds to <a
href="https://github.com/BroadbandForum/usp-data-models/releases/tag/v1.1.0">TR-181
Issue 2 Amendment 13</a></p></td>
</tr>
<tr class="odd">
<td style="text-align: left;">Release 1.1.1</td>
<td style="text-align: left;">April 2020</td>
<td style="text-align: left;">Regenerated data model HTML using fixed
version of the BBF report tool</td>
</tr>
<tr class="even">
<td style="text-align: left;">Release 1.1.2</td>
<td style="text-align: left;">August 2020</td>
<td style="text-align: left;">Clarifies several examples, requirements,
and error types</td>
</tr>
<tr class="odd">
<td style="text-align: left;">Release 1.1.3</td>
<td style="text-align: left;">November 2020</td>
<td style="text-align: left;">Corresponds to <a
href="https://github.com/BroadbandForum/data-model-template/releases/tag/v1.10.0">TR-106
Amendment 10</a> and <a
href="https://github.com/BroadbandForum/usp-data-models/releases/tag/v1.1.3">TR-181
Issue 2 Amendment 14</a></td>
</tr>
<tr class="even">
<td style="text-align: left;">Release 1.1.4</td>
<td style="text-align: left;">November 2020</td>
<td style="text-align: left;">Corresponds to <a
href="https://github.com/BroadbandForum/usp-data-models/releases/tag/v1.1.4">TR-181
Issue 2 Amendment 14 Corrigendum 1</a></td>
</tr>
<tr class="odd">
<td style="text-align: left;"><p><a
href="https://www.broadband-forum.org/download/TR-369_Amendment-2.pdf">Release
1.2</a></p></td>
<td style="text-align: left;"><p>January 2022</p></td>
<td style="text-align: left;"><p>Release contains specification for the
User Services Platform 1.2</p>
<ul>
<li>Clarify the expected responses in result of an <code>Operate</code>
message (R-OPR.4)</li>
<li>Deprecates the use of COAP as an MTP</li>
<li>GetSupportedDM
<ul>
<li>now provides the data types for parameter values</li>
<li>now allows the Agent to provide information about whether or not it
will ignore ValueChange subscriptions on a given parameter</li>
<li>now provides information about whether a command is synchronous
vs. asynchronous</li>
<li>now allows requests on specific object instances and handles
divergent data models</li>
</ul></li>
<li>Defines discovery mechanisms for Endpoints connected to STOMP and
MQTT brokers</li>
<li>Clarifies the use of search paths vs. unique key addressing in the
Add message</li>
<li>Clarifies the use of required parameters and defaults for unique
keys in the Add message</li>
<li>Annex A
<ul>
<li>now provides a theory of operations for use of the USPEventNotif
mechanism for bulk data collection using the Push! event</li>
<li>defines a new bulk data collection over MQTT mechanism</li>
</ul></li>
<li>DHCP discovery mechanism now provides a Controller Endpoint ID to
the Agent</li>
<li>Enhances ease of use and clarifies requirements for use of TLS in
USP Record integrity</li>
<li>New USP records
<ul>
<li>adds USP connect and disconnect records for use independent of
MTP</li>
<li>adds USP Record specific error mechanism and error codes</li>
<li>MQTT and STOMP no longer silently drop errors; they now report
errors in the USP Record.</li>
<li>USP Records can now include an empty payload</li>
</ul></li>
<li>Get requests
<ul>
<li>can now include a max_depth flag to limit response size</li>
<li>Get response format has been clarified to return separate elements
for sub-object</li>
</ul></li>
<li>Clarifies the requirements around processing an entire message in
the event of a failed operation when allow_partial is true vs.
false</li>
<li>Clarifies the response behavior for Get, Set, and Delete when using
a path that matches no instances</li>
<li>Fixes and enhances the use of error codes for the Operate
message</li>
<li>Clarifies and updates Controller credential/authentication theory of
operations and flow diagrams</li>
<li>Clarifies the use of subjectAltName in certificates</li>
<li>Clarifies R-E2E.4</li>
<li>Deprecated and Obsolete terms are now defined in the References and
Terminology section</li>
<li>Updated R-E3E.43</li>
<li>Deprecates R-MSG.2</li>
<li>Deprecates R-E2E.2</li>
<li>R-E2E.42 now makes TLS renegotiation forbidden</li>
<li>Modifies R-NOT.9 and adds R-NOT.10 adjusting how the Agent and
Controller should handle the subscription_id field</li>
</ul>
<p>Corresponds to <a
href="https://github.com/BroadbandForum/data-model-template/releases/tag/v1.11.0">TR-106
Amendment 11</a> and <a
href="https://github.com/BroadbandForum/usp-data-models/releases/tag/v1.2.0">TR-181
Issue 2 Amendment 15</a></p></td>
</tr>
<tr class="even">
<td style="text-align: left;"><p><a
href="https://www.broadband-forum.org/download/TR-369_Amendment-3.pdf">Release
1.3</a></p></td>
<td style="text-align: left;"><p>June 2023</p></td>
<td style="text-align: left;"><p>Release contains the specification for
the User Services Platform 1.3</p>
<ul>
<li>Adds Appendix VI, “Software Modularization and USP-Enabled
Applications Theory of Operation”</li>
<li>Adds new Unix Domain Socket MTP</li>
<li>Adds two new messages, “Register” and “Deregister”, and associated
error codes (primarily for use with Appendix VI but can be used in many
scenarios)</li>
<li>Adds new Software Module Management features</li>
<li>Adds a note about the use of the new TriggerAction parameter in
Subscription objects</li>
<li>Updates “Authentication and Authorization” to include the use of new
SecuredRole</li>
<li>Updates the Add message to allow for Search Paths and clarifies the
application of permissions during Add messages</li>
<li>Obsoletes CoAP as an MTP</li>
<li>Adds two new requirements regarding Unique Key immutability</li>
<li>Clarifies how Set should respond when using a Search Path where one
or more objects fail to update</li>
<li>Updates the use of EndpointID in WebSocket arguments and adds an
fqdn authority scheme</li>
<li>Addesses a potential attack vector with using MQTT, and updates
other MQTT behavior</li>
<li>Updates Annex A to explain use of the “Exclude” parameter</li>
<li>Updates Discovery to include the use of DHCP options for
agent-device association</li>
<li>Adds a note about USP protocol versioning and Controller/Agent
behavior</li>
<li>Clarifies and updates the use of certain error codes</li>
<li>Clarifies the behavior of Get messages when asking for specific
Multi-Instance Objects that don’t exist</li>
<li>Clarifies some behavior when responding via USP Records</li>
<li>Updates message flow diagrams to remove the implication of ordered
responses</li>
<li>Adds new requirement R-SEC.4b for Trusted Brokers</li>
</ul></td>
</tr>
<tr class="odd">
<td style="text-align: left;"><a
href="https://www.broadband-forum.org/download/TR-369_Amendment-3_Corrigendum-1.pdf">Release
1.3.1</a></td>
<td style="text-align: left;">October 2023</td>
<td style="text-align: left;">This Corrigendum has the following fixes
<ul>
<li>Fix example by populating the empty UNIX Domain Socket
references</li>
<li>Small fixes to UDS example images</li>
<li>Fix UnixDomainSocket path in example</li>
</ul></td>
</tr>
</tbody>
</table>
<h3 class="unnumbered unlisted" id="editors">Editors</h3>
<table class="editors">
<colgroup>
<col style="width: 20%" />
<col style="width: 17%" />
<col style="width: 25%" />
<col style="width: 36%" />
</colgroup>
<thead>
<tr class="header">
<th style="text-align: left;">Name</th>
<th style="text-align: left;">Company</th>
<th style="text-align: left;">Email</th>
<th style="text-align: left;">Role</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td style="text-align: left;">Barbara Stark</td>
<td style="text-align: left;">AT&amp;T</td>
<td style="text-align: left;">barbara.stark@att.com</td>
<td style="text-align: left;">Editor/USP Project Lead</td>
</tr>
<tr class="even">
<td style="text-align: left;">Tim Spets</td>
<td style="text-align: left;">Assia</td>
<td style="text-align: left;">tspets@assia-inc.com</td>
<td style="text-align: left;">Editor/USP Project Lead</td>
</tr>
<tr class="odd">
<td style="text-align: left;">Jason Walls</td>
<td style="text-align: left;">QA Cafe, LLC</td>
<td style="text-align: left;">jason@qacafe.com</td>
<td style="text-align: left;">Editor/Broadband User Services Work Area
Director</td>
</tr>
<tr class="even">
<td style="text-align: left;">John Blackford</td>
<td style="text-align: left;">Commscope</td>
<td style="text-align: left;">john.blackford@commscope.com</td>
<td style="text-align: left;">Editor/Broadband User Services Work Area
Director</td>
</tr>
</tbody>
</table>
<h3 class="unnumbered unlisted"
id="acknowledgments">Acknowledgments</h3>
<table class="acknowledgments">
<colgroup>
<col style="width: 32%" />
<col style="width: 27%" />
<col style="width: 40%" />
</colgroup>
<thead>
<tr class="header">
<th style="text-align: left;">Name</th>
<th style="text-align: left;">Company</th>
<th style="text-align: left;">Email</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td style="text-align: left;">Jean-Didier Ott</td>
<td style="text-align: left;">Orange</td>
<td style="text-align: left;">jeandidier.ott@orange.com</td>
</tr>
<tr class="even">
<td style="text-align: left;">Timothy Carey</td>
<td style="text-align: left;">Nokia</td>
<td style="text-align: left;">timothy.carey@nokia.com</td>
</tr>
<tr class="odd">
<td style="text-align: left;">Steven Nicolai</td>
<td style="text-align: left;">Arris</td>
<td style="text-align: left;">Steven.Nicolai@arris.com</td>
</tr>
<tr class="even">
<td style="text-align: left;">Apostolos Papageorgiou</td>
<td style="text-align: left;">NEC</td>
<td style="text-align: left;">apostolos.Papageorgiou@neclab.eu</td>
</tr>
<tr class="odd">
<td style="text-align: left;">Mark Tabry</td>
<td style="text-align: left;">Google</td>
<td style="text-align: left;">mtab@google.com</td>
</tr>
<tr class="even">
<td style="text-align: left;">Klaus Wich</td>
<td style="text-align: left;">Huawei</td>
<td style="text-align: left;">klaus.wich@huawei.com</td>
</tr>
<tr class="odd">
<td style="text-align: left;">Daniel Egger</td>
<td style="text-align: left;">Axiros</td>
<td style="text-align: left;">daniel.egger@axiros.com</td>
</tr>
<tr class="even">
<td style="text-align: left;">Bahadir Danisik</td>
<td style="text-align: left;">Nokia</td>
<td style="text-align: left;">bahadir.danisik@nokia.com</td>
</tr>
<tr class="odd">
<td style="text-align: left;">William Lupton</td>
<td style="text-align: left;">Broadband Forum</td>
<td style="text-align: left;">wlupton@broadband-forum.org</td>
</tr>
<tr class="even">
<td style="text-align: left;">Matthieu Anne</td>
<td style="text-align: left;">Orange</td>
<td style="text-align: left;">matthieu.anne@orange.com</td>
</tr>
<tr class="odd">
<td style="text-align: left;">Thales Fragoso</td>
<td style="text-align: left;">Axiros</td>
<td style="text-align: left;">thales.fragoso@axiros.com</td>
</tr>
</tbody>
</table>
</body>
</html>
